/**
*
*/
package de.yaams.extensions.rgssproject.map.nevent.command;
import de.yaams.extensions.rgssproject.database.RGSS1Helper;
import de.yaams.extensions.rgssproject.database.RGSS1Helper.Type;
import de.yaams.extensions.rgssproject.database.form.FormDBComboBox;
import de.yaams.extensions.rgssproject.database.form.RubyForm;
import de.yaams.extensions.rgssproject.map.nevent.YEventCommandList;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCode;
import de.yaams.extensions.rgssproject.map.nevent.core.MultipleEventCommand;
import de.yaams.maker.helper.gui.form.core.FormBuilder;
import de.yaams.maker.helper.language.I18N;
/**
* @author abby
*
*/
public class BattleCommand extends MultipleEventCommand {
/**
* @param startID
* @param endID
* @param middle
*/
public BattleCommand() {
super(301, 999, 601, 602, 603);
beta = true;
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.MultipleEventCommand#
* getInternEventTitle
* (de.yaams.extensions.rgssproject.map.nevent.core.EventCode)
*/
@Override
protected String getInternEventTitle(EventCode e) {
if (e.getId() == startID) {
return I18N.t("Battle with {0}", getTypeName(e, 0, Type.TROOP));
}
// bestimmte auswahl?
if (e.getId() == middleIDs.get(0)) {
return I18N.t("If Win towards {0}", getTypeName(getStartTag(e), 0, Type.TROOP));
}
// bestimmte auswahl?
if (e.getId() == middleIDs.get(1)) {
return I18N.t("If Escape towards {0}", getTypeName(getStartTag(e), 0, Type.TROOP));
}
// bestimmte auswahl?
if (e.getId() == middleIDs.get(2)) {
return I18N.t("If Lose towards {0}", getTypeName(getStartTag(e), 0, Type.TROOP));
}
return "?";
}
/*
* (non-Javadoc)
*
* @see de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#
* getStartParameter()
*/
@Override
protected void createNewM(YEventCommandList yecl, int indent) {
// battle
addEventCode(yecl, startID, indent, "1,false,false");
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#getIcon()
*/
@Override
public String getIcon() {
return RGSS1Helper.getIcon(Type.WEAPON);
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#getIcon(
* de.yaams.extensions.rgssproject.map.nevent.core.EventCode)
*/
@Override
public Object getIcon(EventCode e) {
// what kind?
if (e.getId() == endID) {
return "ifend";
}
if (e.getId() == startID) {
return getTypeIcon(e, 0, Type.TROOP);
}
if (e.getId() == middleIDs.get(0)) {
return "battle_win";
}
if (e.getId() == middleIDs.get(1)) {
return "battle_escape";
}
if (e.getId() == middleIDs.get(2)) {
return "battle_lose";
}
return "dummy";
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#getName()
*/
@Override
public String getName() {
return I18N.t("Fight");
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#getGroup()
*/
@Override
public String getGroup() {
return "Battle";
}
/*
* (non-Javadoc)
*
* @see
* de.yaams.extensions.rgssproject.map.nevent.core.EventCommand#buildPanel
* (de.yaams.maker.helper.gui.form.core.FormBuilder,
* de.yaams.extensions.rgssproject.map.nevent.core.EventCode)
*/
@Override
public void buildPanel(FormBuilder f, final EventCode eA) {
// select it
EventCode e = getStartTag(eA);
f.addElement("basic.enemy", new FormDBComboBox(RGSS1Helper.getName(Type.TROOP), e.getYecl().getProject(), Type.TROOP, e.getParameters(), 0, false));
f.addElement("basic.escape", RubyForm.getBoolean(I18N.t("Allow Escape"), e.getParameters(), 1));
f.addElement("basic.defeat", RubyForm.getBoolean(I18N.t("Custom Defeat Handler"), e.getParameters(), 2).setSorting(1));
}
}